/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef LiveModel_h
#define LiveModel_h

@interface DomainTemplateConfig :NSObject

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 模板ID
@property (strong,nonatomic,nonnull)  NSNumber*  templateId;

/// 模板名称
@property (strong,nonatomic,nonnull)  NSString*  template;

/// 检测项列表
@property (strong,nonatomic,nonnull)  NSString*  modules;


-(id) initWithAppName:(NSString*) appName
    streamName:(NSString*)streamName
    templateId:(NSNumber*)templateId
    template:(NSString*)template
    modules:(NSString*)modules;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QualityDetectionTemplate :NSObject

/// 模板名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;

/// 检测项列表
   /// 
@property (strong,nonatomic,nonnull)  NSString*  modules;


-(id) initWithTemplate:(NSString*) template
    modules:(NSString*)modules;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QualityDetectionConfig :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// QualityDetectionConfigValue
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  qualityDetectionConfigValue;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    qualityDetectionConfigValue:(NSArray<NSString*>*)qualityDetectionConfigValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UserBucket :NSObject

/// Bucket名称
@property (strong,nonatomic,nonnull)  NSString*  name;


-(id) initWithName:(NSString*) name;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveSort :NSObject

/// 排序属性名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 排序方向
@property (strong,nonatomic,nonnull)  NSString*  direction;


-(id) initWithName:(NSString*) name
    direction:(NSString*)direction;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TemplateBinding :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 模板
@property (strong,nonatomic,nonnull)  NSString*  template;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    template:(NSString*)template;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveFilter :NSObject

/// 过滤器属性名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 过滤器操作符，默认值为 eq
@property (strong,nonatomic,nonnull)  NSString*  operatorValue;

/// 过滤器属性值
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  values;


-(id) initWithName:(NSString*) name
    operatorValue:(NSString*)operatorValue
    values:(NSArray<NSString*>*)values;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TimeshiftPlayDomain :NSObject

/// 播放域名
@property (strong,nonatomic,nonnull)  NSString*  playDomain;

/// 直播时移状态:
   ///   on: 开启
   ///   off: 关闭
   /// 
@property (strong,nonatomic,nonnull)  NSString*  timeshiftStatus;

/// 播放域名类型:
   ///   normal: 普通播放域名(时移播放域名)
   /// 
@property (strong,nonatomic,nonnull)  NSString*  playType;


-(id) initWithPlayDomain:(NSString*) playDomain
    timeshiftStatus:(NSString*)timeshiftStatus
    playType:(NSString*)playType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RestartPlayDomain :NSObject

/// 播放域名
@property (strong,nonatomic,nonnull)  NSString*  playDomain;

/// 直播回看状态:
   ///   on: 开启
   ///   off: 关闭
   /// 
@property (strong,nonatomic,nonnull)  NSString*  restartStatus;

/// 播放域名类型:
   ///   normal: 普通播放域名(时移播放域名)
   ///   restart: 回看播放域名
@property (strong,nonatomic,nonnull)  NSString*  playType;


-(id) initWithPlayDomain:(NSString*) playDomain
    restartStatus:(NSString*)restartStatus
    playType:(NSString*)playType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TimeshiftPublishDomain :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;


-(id) initWithPublishDomain:(NSString*) publishDomain;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RestartPublishDomain :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;


-(id) initWithPublishDomain:(NSString*) publishDomain;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface WatermarkTemplate :NSObject

/// 水印位置
   /// - 取值范围：左上：1，右上：3， 左下：7，右下：9，默认：1
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  position;

/// 偏移量单位
   /// - 取值: percent,pixel
   /// 
@property (strong,nonatomic,nonnull)  NSString*  offsetUnit;

/// x轴偏移量
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  offSetX;

/// y轴偏移量
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  offSetY;

/// 水印大小单位
   /// - 取值: percent,pixel
   /// 
@property (strong,nonatomic,nonnull)  NSString*  sizeUnit;

/// 水印宽度
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  width;

/// 水印高度
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  height;

/// 水印地址
   /// 
@property (strong,nonatomic,nonnull)  NSString*  url;

/// 水印模板自定义名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;


-(id) initWithPosition:(NSNumber*) position
    offsetUnit:(NSString*)offsetUnit
    offSetX:(NSNumber*)offSetX
    offSetY:(NSNumber*)offSetY
    sizeUnit:(NSString*)sizeUnit
    width:(NSNumber*)width
    height:(NSNumber*)height
    url:(NSString*)url
    template:(NSString*)template;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStreamRecordConfig :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 水印模板集合
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  watermarkConfig;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    watermarkConfig:(NSArray<NSString*>*)watermarkConfig;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PlayDataStatisticResultData :NSObject

/// 带宽，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  avgbandwidth;

/// 带宽峰值时间点，单位：秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  maxavgbandwidthtime;

/// PV
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  pv;

/// 流量，单位:Byte
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  flow;

/// 在线人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  playercount;


-(id) initWithAvgbandwidth:(NSNumber*) avgbandwidth
    maxavgbandwidthtime:(NSNumber*)maxavgbandwidthtime
    pv:(NSNumber*)pv
    flow:(NSNumber*)flow
    playercount:(NSNumber*)playercount;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SnapshotCountStatisticData :NSObject

/// 截图张数
   /// - 单位: 张
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  count;


-(id) initWithCount:(NSNumber*) count;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface FileStorageStatisticData :NSObject

/// 存储空间，单位：B
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  size;


-(id) initWithSize:(NSNumber*) size;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BandwidthStatisticResultData :NSObject

/// 带宽，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  value;

/// 带宽峰值时间点，单位：秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  maxValueTime;


-(id) initWithValue:(NSNumber*) value
    maxValueTime:(NSNumber*)maxValueTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordDetail :NSObject

/// 格式
   ///   mp4
   ///   flv
   ///   ts
   /// 
@property (strong,nonatomic,nonnull)  NSString*  format;

/// 时长:
   /// - 单位: 分钟
   /// - 精确两位小数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  duration;


-(id) initWithFormat:(NSString*) format
    duration:(NSNumber*)duration;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TranscodeDurationStatisticData :NSObject

/// 时长，单位：秒
   /// 
@property (strong,nonatomic,nonnull)  NSString*  duration;


-(id) initWithDuration:(NSString*) duration;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PornCountStatisticData :NSObject

/// 鉴黄张数
   /// - 单位: 张
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  count;


-(id) initWithCount:(NSNumber*) count;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TrafficStatisticResultData :NSObject

/// 流量，单位:Byte
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  value;


-(id) initWithValue:(NSNumber*) value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface File :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 开始时间
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例:2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例:2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// 录制时长
@property (strong,nonatomic,nonnull)  NSNumber*  duration;

/// 视频高
@property (strong,nonatomic,nonnull)  NSNumber*  height;

/// 视频宽
@property (strong,nonatomic,nonnull)  NSNumber*  width;

/// OSSBucket的名称
@property (strong,nonatomic,nonnull)  NSString*  ossBucket;

/// OSSEndpoint域名
@property (strong,nonatomic,nonnull)  NSString*  ossEndpoint;

/// OSSObject
@property (strong,nonatomic,nonnull)  NSString*  ossObject;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime
    duration:(NSNumber*)duration
    height:(NSNumber*)height
    width:(NSNumber*)width
    ossBucket:(NSString*)ossBucket
    ossEndpoint:(NSString*)ossEndpoint
    ossObject:(NSString*)ossObject;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveRecordConfig :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// RecordConfig
@property (strong,nonatomic,nonnull)  NSString*  recordConfig;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    recordConfig:(NSString*)recordConfig;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordTime :NSObject

/// 开始时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例: 2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例: 2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordApp :NSObject

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 自动录制周期
@property (strong,nonatomic,nonnull)  NSString*  recordConfig;


-(id) initWithAppName:(NSString*) appName
    recordConfig:(NSString*)recordConfig;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordTemplate :NSObject

/// 自动录制周期
   /// - 取值:[15,360]
   /// - 单位: 分钟
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  recordPeriod;

/// 存储桶
@property (strong,nonatomic,nonnull)  NSString*  saveBucket;

/// 存储地址
@property (strong,nonatomic,nonnull)  NSString*  saveEndpoint;

/// 录制文件格式
   /// - 取值: ts,flv,mp4 (多种类型之前用;隔开)
   /// - 不区分大小写
   /// 
@property (strong,nonatomic,nonnull)  NSString*  recordFileType;

/// 录制模板
   /// - 取值要求：数字、大小写字母或短横线(&quot;-&quot;),
   ///           首尾不能有特殊字符(&quot;-&quot;)
   /// - &lt;b&gt;注意: 不能与已定义命名重复&lt;/b&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;


-(id) initWithRecordPeriod:(NSNumber*) recordPeriod
    saveBucket:(NSString*)saveBucket
    saveEndpoint:(NSString*)saveEndpoint
    recordFileType:(NSString*)recordFileType
    template:(NSString*)template;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdateQualityDetectionTemplateRequestObject :NSObject

/// 模板名称。长度不超过128个字符。UTF-8编码
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;

/// 检测项列表。取值范围：
   ///   BlackScreen - 黑屏
   ///   PureColor - 纯色
   ///   ColorCast - 偏色
   ///   FrozenFrame - 静帧
   ///   Brightness - 亮度
   ///   Contrast - 对比度
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  modules;


-(id) initWithTemplate:(NSString*) template
    modules:(NSArray<NSString*>*)modules;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateQualityDetectionTemplateRequestObject :NSObject

/// 模板名称。长度不超过128个字符。UTF-8编码
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;

/// 检测项列表。取值范围：
   ///   BlackScreen - 黑屏
   ///   PureColor - 纯色
   ///   ColorCast - 偏色
   ///   FrozenFrame - 静帧
   ///   Brightness - 亮度
   ///   Contrast - 对比度
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  modules;


-(id) initWithTemplate:(NSString*) template
    modules:(NSArray<NSString*>*)modules;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Snapshot :NSObject

/// 截图ID
   /// 
@property (strong,nonatomic,nonnull)  NSString*  imgId;

/// 截图格式
   /// 
@property (strong,nonatomic,nonnull)  NSString*  format;

/// 截图宽度
   /// - 单位: 像素
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  width;

/// 截图高度
   /// - 单位: 像素
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  height;

/// 截图时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  snapshotTime;

/// 截图文件大小
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  size;

/// 截图地址
   /// 
@property (strong,nonatomic,nonnull)  NSString*  imgUrl;


-(id) initWithImgId:(NSString*) imgId
    format:(NSString*)format
    width:(NSNumber*)width
    height:(NSNumber*)height
    snapshotTime:(NSString*)snapshotTime
    size:(NSNumber*)size
    imgUrl:(NSString*)imgUrl;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PublishOnlineStreamResultData :NSObject

/// APP名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 客户端ip
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientIp;

/// 边缘节点ip
   /// 
@property (strong,nonatomic,nonnull)  NSString*  serverIp;

/// 帧率
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  frameRate;

/// 丢帧率
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  frameLossRate;

/// 最近活跃时间
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  lastActive;

/// 实时帧率
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  realFps;

/// 上传速度  单位：KB/s
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  uploadSpeed;

/// 视频codec，取值：
   /// - VideoAVC &#x3D; 7
   /// - VideoHEVC &#x3D; 12
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  videoCodec;

/// 视频码率 单位：KB/s
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  videoDataRate;

/// 音频codec，取值：
   /// - AudioReserved1 &#x3D; 16
   /// - AudioDisabled &#x3D; 17
   /// - AudioLinearPCMPlatformEndian &#x3D; 0
   /// - AudioADPCM &#x3D; 1
   /// - AudioMP3 &#x3D; 2
   /// - AudioLinearPCMLittleEndian &#x3D; 3
   /// - AudioNellymoser16kHzMono &#x3D; 4
   /// - AudioNellymoser8kHzMono &#x3D; 5
   /// - AudioNellymoser &#x3D; 6
   /// - AudioReservedG711AlawLogarithmicPCM &#x3D; 7
   /// - AudioReservedG711MuLawLogarithmicPCM &#x3D; 8
   /// - AudioReserved &#x3D; 9
   /// - AudioAAC &#x3D; 10
   /// - AudioSpeex &#x3D; 11
   /// - AudioReservedMP3_8kHz &#x3D; 14
   /// - AudioReservedDeviceSpecificSound &#x3D; 15
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  audioCodec;


-(id) initWithAppName:(NSString*) appName
    streamName:(NSString*)streamName
    clientIp:(NSString*)clientIp
    serverIp:(NSString*)serverIp
    frameRate:(NSNumber*)frameRate
    frameLossRate:(NSNumber*)frameLossRate
    lastActive:(NSNumber*)lastActive
    realFps:(NSNumber*)realFps
    uploadSpeed:(NSNumber*)uploadSpeed
    videoCodec:(NSNumber*)videoCodec
    videoDataRate:(NSNumber*)videoDataRate
    audioCodec:(NSNumber*)audioCodec;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStreamPlayerRankingResult :NSObject

/// 起始时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// 排行
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  ranking;

/// 流名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 观众数量
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  playerCount;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    ranking:(NSNumber*)ranking
    streamName:(NSString*)streamName
    playerCount:(NSNumber*)playerCount;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PublishStreamInfoData :NSObject

/// 流名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 帧率
   /// 
@property (strong,nonatomic,nonnull)  NSString*  fps;

/// 码率，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSString*  bitrate;

/// CDN上行节点IP列表
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  pushEdgeNodeIps;

/// 主播IP列表
   /// 
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  anchorIps;

/// Flv观看带宽
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  flvBandWidth;

/// Flv观看人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  flvPlayerCount;

/// Hls观看带宽
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  hlsBandWidth;

/// Hls观看人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  hlsPlayerCount;


-(id) initWithStreamName:(NSString*) streamName
    fps:(NSString*)fps
    bitrate:(NSString*)bitrate
    pushEdgeNodeIps:(NSArray<NSString*>*)pushEdgeNodeIps
    anchorIps:(NSArray<NSString*>*)anchorIps
    flvBandWidth:(NSNumber*)flvBandWidth
    flvPlayerCount:(NSNumber*)flvPlayerCount
    hlsBandWidth:(NSNumber*)hlsBandWidth
    hlsPlayerCount:(NSNumber*)hlsPlayerCount;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DomainsLogResultData :NSObject

/// 文件名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  fileName;

/// 下载地址
   /// 
@property (strong,nonatomic,nonnull)  NSString*  logUrl;

/// 文件md5
   /// 
@property (strong,nonatomic,nonnull)  NSString*  md5;

/// 文件大小，单位：Byte
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  size;

/// 开始时间，UTC时间格式
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间，UTC时间格式
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;


-(id) initWithFileName:(NSString*) fileName
    logUrl:(NSString*)logUrl
    md5:(NSString*)md5
    size:(NSNumber*)size
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RankingUrlResultRankData :NSObject

/// 独立访问数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  uv;

/// 带宽，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  bandwidth;

/// 访问次数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  pv;

/// 流量，单位：Byte
@property (strong,nonatomic,nonnull)  NSNumber*  flow;


-(id) initWithUv:(NSNumber*) uv
    bandwidth:(NSNumber*)bandwidth
    pv:(NSNumber*)pv
    flow:(NSNumber*)flow;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStreamUserNumResultData :NSObject

/// 人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  count;


-(id) initWithCount:(NSNumber*) count;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveTranscodeStreamResult :NSObject

/// 流名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 流状态
   /// 
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithStreamName:(NSString*) streamName
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface StreamInfo :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 流状态
   ///   on: 推流中
   ///   off: 推流中断
   /// 
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OnlineStreamInfo :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 推流时间
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例:2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  publishTime;

/// 推流地址
@property (strong,nonatomic,nonnull)  NSString*  publishUrl;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    publishTime:(NSString*)publishTime
    publishUrl:(NSString*)publishUrl;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStreamPublishInfo :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 推流开始时间
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  publishUpTime;

/// 推流结束时刻
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  publishDownTime;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    publishUpTime:(NSString*)publishUpTime
    publishDownTime:(NSString*)publishDownTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ManageQueryStreamInfo :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 推流开始时间
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例:2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  publishStartTime;

/// 推流结束时间
   /// - UTC时间
   ///   格式:yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   ///   示例:2018-10-21T10:00:00Z
   /// 
@property (strong,nonatomic,nonnull)  NSString*  publishEndTime;

/// 推流地址
@property (strong,nonatomic,nonnull)  NSString*  publishUrl;

/// 流状态：
   /// - living-在线流
   /// - stop-历史流
   /// - forbid-禁用流
   /// 
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    publishStartTime:(NSString*)publishStartTime
    publishEndTime:(NSString*)publishEndTime
    publishUrl:(NSString*)publishUrl
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface NotifyInfo :NSObject

/// 您的加速域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 回调地址
@property (strong,nonatomic,nonnull)  NSString*  notifyUrl;


-(id) initWithPublishDomain:(NSString*) publishDomain
    notifyUrl:(NSString*)notifyUrl;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SnapshotTemplate :NSObject

/// 截图格式
   /// 
@property (strong,nonatomic,nonnull)  NSString*  format;

/// 截图宽度
   /// - 单位: 像素
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  width;

/// 截图高度
   /// - 单位: 像素
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  height;

/// 截图与设定的宽高不匹配时的处理规则
   ///   1: 拉伸
   ///   2: 留黑
   ///   3: 留白
   ///   4: 高斯模糊
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  fillType;

/// 截图周期
   /// - 单位: 秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  snapshotInterval;

/// 存储模式
   ///   1: 覆盖
   ///   2: 顺序编号存储
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  saveMode;

/// 存储桶
@property (strong,nonatomic,nonnull)  NSString*  saveBucket;

/// 存储地址
@property (strong,nonatomic,nonnull)  NSString*  saveEndpoint;

/// 截图模板自定义名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;


-(id) initWithFormat:(NSString*) format
    width:(NSNumber*)width
    height:(NSNumber*)height
    fillType:(NSNumber*)fillType
    snapshotInterval:(NSNumber*)snapshotInterval
    saveMode:(NSNumber*)saveMode
    saveBucket:(NSString*)saveBucket
    saveEndpoint:(NSString*)saveEndpoint
    template:(NSString*)template;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SnapshotConfig :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// SnapshotConfigValue
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  snapshotConfigValue;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    snapshotConfigValue:(NSArray<NSString*>*)snapshotConfigValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface App :NSObject

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 应用状态
   ///   online: 开启
   ///   offline: 关闭
   /// 
@property (strong,nonatomic,nonnull)  NSString*  appStatus;

/// 应用创建时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithAppName:(NSString*) appName
    appStatus:(NSString*)appStatus
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PublishDomain :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomainValue;

/// 推流域名Cname
@property (strong,nonatomic,nonnull)  NSString*  publishDomainCname;

/// 直播域名状态
   ///   online: 启用
   ///   offline: 停用
   ///   configuring: 配置中
   ///   configure_failed: 配置失败
   ///   checking: 正在审核
   ///   check_failed: 审核失败
   /// 
@property (strong,nonatomic,nonnull)  NSString*  domainStatus;

/// 域名创建时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 域名更新时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithPublishDomainValue:(NSString*) publishDomainValue
    publishDomainCname:(NSString*)publishDomainCname
    domainStatus:(NSString*)domainStatus
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PlayDomain :NSObject

/// 播放域名
@property (strong,nonatomic,nonnull)  NSString*  playDomainValue;

/// 播放域名Cname
@property (strong,nonatomic,nonnull)  NSString*  playDomainCname;

/// 直播域名状态
   ///   online: 启用
   ///   offline: 停用
   ///   configuring: 配置中
   ///   configure_failed: 配置失败
   ///   checking: 正在审核
   ///   check_failed: 审核失败
   /// 
@property (strong,nonatomic,nonnull)  NSString*  domainStatus;

/// 播放域名类型
   ///   normal: 普通播放域名
   ///   restart: 回看域名
   /// 
@property (strong,nonatomic,nonnull)  NSString*  playType;

/// 域名创建时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 域名更新时间
   /// - UTC时间
   ///   格式: yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithPlayDomainValue:(NSString*) playDomainValue
    playDomainCname:(NSString*)playDomainCname
    domainStatus:(NSString*)domainStatus
    playType:(NSString*)playType
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface P2pPlayDomain :NSObject

/// 播放域名
@property (strong,nonatomic,nonnull)  NSString*  playDomain;

/// 直播P2P状态:
   ///   on: 开启
   ///   off: 关闭
   /// 
@property (strong,nonatomic,nonnull)  NSString*  p2pStatus;

/// 播放域名类型:
   ///   normal: 普通播放域名
   /// 
@property (strong,nonatomic,nonnull)  NSString*  playType;


-(id) initWithPlayDomain:(NSString*) playDomain
    p2pStatus:(NSString*)p2pStatus
    playType:(NSString*)playType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface P2pRequestBody :NSObject

/// 播放域名
@property (strong,nonatomic,nonnull)  NSString*  playDomain;


-(id) initWithPlayDomain:(NSString*) playDomain;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface P2pPublishDomain :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;


-(id) initWithPublishDomain:(NSString*) publishDomain;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordFile :NSObject

/// 录制文件ID
   /// 
@property (strong,nonatomic,nonnull)  NSString*  fileId;

/// 文件格式
   /// 
@property (strong,nonatomic,nonnull)  NSString*  format;

/// 视频宽度
   /// - 单位: 像素
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  width;

/// 视频高度
   /// - 单位: 像素
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  height;

/// 录制开始时间
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 录制结束时间
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// 视频时长，单位：毫秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  duration;

/// 文件大小，单位：B
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  size;

/// 码率
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  bitrate;

/// 帧率
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  fps;

/// 文件地址
   /// 
@property (strong,nonatomic,nonnull)  NSString*  fileUrl;

/// 创建时间
   /// 
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithFileId:(NSString*) fileId
    format:(NSString*)format
    width:(NSNumber*)width
    height:(NSNumber*)height
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime
    duration:(NSNumber*)duration
    size:(NSNumber*)size
    bitrate:(NSNumber*)bitrate
    fps:(NSNumber*)fps
    fileUrl:(NSString*)fileUrl
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByStreamResultData :NSObject

/// 流名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 在线人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  playerCount;

/// 带宽，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  bandwidth;

/// 带宽峰值时间点，单位：秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  maxBandwidthtime;

/// 流量，单位:Byte
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  flow;


-(id) initWithStreamName:(NSString*) streamName
    playerCount:(NSNumber*)playerCount
    bandwidth:(NSNumber*)bandwidth
    maxBandwidthtime:(NSNumber*)maxBandwidthtime
    flow:(NSNumber*)flow;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByAreaResultData :NSObject

/// 地域
   /// 
@property (strong,nonatomic,nonnull)  NSString*  area;

/// 在线人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  playerCount;

/// 带宽，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  bandwidth;

/// 带宽峰值时间点，单位：秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  maxBandwidthtime;

/// 流量，单位:Byte
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  flow;


-(id) initWithArea:(NSString*) area
    playerCount:(NSNumber*)playerCount
    bandwidth:(NSNumber*)bandwidth
    maxBandwidthtime:(NSNumber*)maxBandwidthtime
    flow:(NSNumber*)flow;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByAreaIspResultIspData :NSObject

/// 运营商
   /// 
@property (strong,nonatomic,nonnull)  NSString*  isp;

/// 在线人数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  playerCount;

/// 带宽，单位：bps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  bandwidth;

/// 带宽峰值时间点，单位：秒
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  maxBandwidthtime;

/// 流量，单位:Byte
@property (strong,nonatomic,nonnull)  NSNumber*  flow;


-(id) initWithIsp:(NSString*) isp
    playerCount:(NSNumber*)playerCount
    bandwidth:(NSNumber*)bandwidth
    maxBandwidthtime:(NSNumber*)maxBandwidthtime
    flow:(NSNumber*)flow;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TemplateConfig :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// TranscodeConfig
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  transcodeConfig;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    transcodeConfig:(NSArray<NSString*>*)transcodeConfig;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TranscodeInfo :NSObject

/// 视频编码格式
   ///   - 取值：h264,h265，默认h264
   /// 
@property (strong,nonatomic,nonnull)  NSString*  videoCodec;

/// 转码输出的码率值:
   ///   - 取值: [128,15000]
   ///   - 单位: kpbs
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  videoCodeRate;

/// 转码输出的帧率值:
   ///   - 取值：[1,30]
   /// 
@property (strong,nonatomic,nonnull)  NSString*  videoFrameRate;

/// 转码输出视频宽度:
   ///   - 取值: [128,4096]
   ///   - 等比: 如果只填写一个参数,则按参数比例调节输出转码视频
   ///   - 随源: 如果两个参数都不填写，则按照源比例输出转码视频
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  width;

/// 转码输出视频高度:
   ///   - 取值: [128,4096]
   ///   - 等比: 如果只填写一个参数,则按参数比例调节输出转码视频
   ///   - 随源: 如果两个参数都不填写，则按照源比例输出转码视频
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  height;

/// 转码模板自定义名称:
   ///   - 自定义模板: 枚举类型校验，忽略大小写，自动删除空格,
   ///               取值要求：数字、大小写字母或短横线(&quot;-&quot;),
   ///               首尾不能有特殊字符(&quot;-&quot;)
   ///   - 注意: 不能与标准的转码模板和已定义命名重复
   /// 
@property (strong,nonatomic,nonnull)  NSString*  template;

/// 转码模板名称
   /// 
@property (strong,nonatomic,nonnull)  NSString*  templateName;

/// 转码输出音频编码格式:
   ///   - 取值: aac、mp3
   ///   - 不区分大小写
   /// 
@property (strong,nonatomic,nonnull)  NSString*  audioCodec;

/// 转码输出音频格式:
   ///   - 取值: aac_lc，aac_low，aac_he，aac_he_v2
   ///   - 不区分大小写
   /// 
@property (strong,nonatomic,nonnull)  NSString*  audioFormat;

/// 转码输出音频采样率:
   ///   - 取值: [44100,48000]
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  audioSampleRate;

/// 转码输出音频通道数:
   ///   - 1  单声道
   ///   - 2  双声道
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  audioChannel;

/// 转码输出音频码率:
   ///   - 取值: [16,128]
   ///   - 单位: kbps
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  audioCodeRate;

/// 京享超清
   /// - 取值: jdchd-1.0,off
   /// 
@property (strong,nonatomic,nonnull)  NSString*  jdchd;

/// 舒适音频
   /// - 取值: on,off
   /// 
@property (strong,nonatomic,nonnull)  NSString*  audioComfort;


-(id) initWithVideoCodec:(NSString*) videoCodec
    videoCodeRate:(NSNumber*)videoCodeRate
    videoFrameRate:(NSString*)videoFrameRate
    width:(NSNumber*)width
    height:(NSNumber*)height
    template:(NSString*)template
    templateName:(NSString*)templateName
    audioCodec:(NSString*)audioCodec
    audioFormat:(NSString*)audioFormat
    audioSampleRate:(NSNumber*)audioSampleRate
    audioChannel:(NSNumber*)audioChannel
    audioCodeRate:(NSNumber*)audioCodeRate
    jdchd:(NSString*)jdchd
    audioComfort:(NSString*)audioComfort;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RestartConfig :NSObject

/// 推流域名集合
@property (strong,nonatomic,nonnull)  NSArray<RestartPublishDomain*>*  publishDomains;

/// 播放域名集合
@property (strong,nonatomic,nonnull)  NSArray<RestartPlayDomain*>*  playDomains;


-(id) initWithPublishDomains:(NSArray<RestartPublishDomain*>*) publishDomains
    playDomains:(NSArray<RestartPlayDomain*>*)playDomains;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TimeshiftConfig :NSObject

/// 推流域名集合
@property (strong,nonatomic,nonnull)  NSArray<TimeshiftPublishDomain*>*  publishDomains;

/// 播放域名集合
@property (strong,nonatomic,nonnull)  NSArray<TimeshiftPlayDomain*>*  playDomains;


-(id) initWithPublishDomains:(NSArray<TimeshiftPublishDomain*>*) publishDomains
    playDomains:(NSArray<TimeshiftPlayDomain*>*)playDomains;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface FileStorageStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  FileStorageStatisticData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(FileStorageStatisticData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PornCountStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  PornCountStatisticData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(PornCountStatisticData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BandwidthStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  BandwidthStatisticResultData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(BandwidthStatisticResultData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TranscodeDurationStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  TranscodeDurationStatisticData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(TranscodeDurationStatisticData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PlayDataStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  PlayDataStatisticResultData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(PlayDataStatisticResultData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SnapshotCountStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  SnapshotCountStatisticData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(SnapshotCountStatisticData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface TrafficStatisticResult :NSObject

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 时间点
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  TrafficStatisticResultData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(TrafficStatisticResultData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RecordData :NSObject

/// 推流域名
@property (strong,nonatomic,nonnull)  NSString*  publishDomain;

/// 应用名称
@property (strong,nonatomic,nonnull)  NSString*  appName;

/// 流名称
@property (strong,nonatomic,nonnull)  NSString*  streamName;

/// 日期:
   /// - yyyyMMdd
   /// - 示例: 20190308
   /// 
@property (strong,nonatomic,nonnull)  NSString*  date;

/// 录制时长:
   /// - 单位: 分钟
   /// - 精确两位小数
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  total;

/// 明细
@property (strong,nonatomic,nonnull)  NSArray<RecordDetail*>*  detail;


-(id) initWithPublishDomain:(NSString*) publishDomain
    appName:(NSString*)appName
    streamName:(NSString*)streamName
    date:(NSString*)date
    total:(NSNumber*)total
    detail:(NSArray<RecordDetail*>*)detail;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RankingUrlResultData :NSObject

/// URL
   /// 
@property (strong,nonatomic,nonnull)  NSString*  url;

/// 排行序号
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  rank;

/// 文件md5
   /// 
@property (strong,nonatomic,nonnull)  NSString*  md5;

/// 排行依据字段对应的数值
   /// 
@property (strong,nonatomic,nonnull)  NSNumber*  value;

/// Data
@property (strong,nonatomic,nonnull)  NSArray<RankingUrlResultRankData*>*  data;


-(id) initWithUrl:(NSString*) url
    rank:(NSNumber*)rank
    md5:(NSString*)md5
    value:(NSNumber*)value
    data:(NSArray<RankingUrlResultRankData*>*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStreamUserNumResult :NSObject

/// 起始时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  LiveStreamUserNumResultData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(LiveStreamUserNumResultData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RankingUrlResult :NSObject

/// RankingList
@property (strong,nonatomic,nonnull)  NSArray<RankingUrlResultData*>*  rankingList;


-(id) initWithRankingList:(NSArray<RankingUrlResultData*>*) rankingList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DomainsLogResult :NSObject

/// 域名
   /// 
@property (strong,nonatomic,nonnull)  NSString*  domain;

/// LogList
@property (strong,nonatomic,nonnull)  NSArray<DomainsLogResultData*>*  logList;


-(id) initWithDomain:(NSString*) domain
    logList:(NSArray<DomainsLogResultData*>*)logList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PublishStreamInfoResult :NSObject

/// 起始时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  PublishStreamInfoData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(PublishStreamInfoData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DomainDetails :NSObject

/// 推流域名集合
@property (strong,nonatomic,nonnull)  NSArray<PublishDomain*>*  publishDomains;

/// 播放域名集合
@property (strong,nonatomic,nonnull)  NSArray<PlayDomain*>*  playDomains;


-(id) initWithPublishDomains:(NSArray<PublishDomain*>*) publishDomains
    playDomains:(NSArray<PlayDomain*>*)playDomains;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface P2pConfigs :NSObject

/// 推流域名集合
@property (strong,nonatomic,nonnull)  NSArray<P2pPublishDomain*>*  publishDomains;

/// 播放域名集合
@property (strong,nonatomic,nonnull)  NSArray<P2pPlayDomain*>*  playDomains;


-(id) initWithPublishDomains:(NSArray<P2pPublishDomain*>*) publishDomains
    playDomains:(NSArray<P2pPlayDomain*>*)playDomains;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByStreamResult :NSObject

/// 起始时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  NSArray<LiveStatisticGroupByStreamResultData*>*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(NSArray<LiveStatisticGroupByStreamResultData*>*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByAreaIspResultData :NSObject

/// 地域
   /// 
@property (strong,nonatomic,nonnull)  NSString*  area;

/// IspData
@property (strong,nonatomic,nonnull)  NSArray<LiveStatisticGroupByAreaIspResultIspData*>*  ispData;


-(id) initWithArea:(NSString*) area
    ispData:(NSArray<LiveStatisticGroupByAreaIspResultIspData*>*)ispData;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByAreaResult :NSObject

/// 起始时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  NSArray<LiveStatisticGroupByAreaResultData*>*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(NSArray<LiveStatisticGroupByAreaResultData*>*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface P2pResultObject :NSObject

/// 当前页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;

/// 每页数量
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;

/// 查询总数
@property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

/// P2P配置集合
@property (strong,nonatomic,nonnull)  NSArray<P2pConfigs*>*  p2pConfigs;


-(id) initWithPageNumber:(NSNumber*) pageNumber
    pageSize:(NSNumber*)pageSize
    totalCount:(NSNumber*)totalCount
    p2pConfigs:(NSArray<P2pConfigs*>*)p2pConfigs;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LiveStatisticGroupByAreaIspResult :NSObject

/// 起始时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间点，UTC时间，格式：yyyy-MM-dd&#39;T&#39;HH:mm:ss&#39;Z&#39;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  endTime;

/// Data
@property (strong,nonatomic,nonnull)  LiveStatisticGroupByAreaIspResultData*  data;


-(id) initWithStartTime:(NSString*) startTime
    endTime:(NSString*)endTime
    data:(LiveStatisticGroupByAreaIspResultData*)data;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* LiveModel_h */
